package org.example.admin.service;


import org.example.admin.bo.MenuBO;
import org.example.admin.dto.MenuDto;
import org.example.admin.entity.MenuEntity;
import org.example.admin.vo.MenuVo;
import org.example.admin.vo.RouterVo;
import org.example.admin.vo.UserVo;
import org.example.core.utils.PageUtils;
import org.example.core.utils.R;

import java.util.List;
import java.util.Set;

/**
 * @author 小杰_cc
 * @version 1.0
 */
public interface MenuService {
    // 获取菜单列表
    PageUtils list(MenuDto menuDto);
    // 查询单个菜单数据
    MenuVo detail(Long id);
    // 添加菜单信息
    int save(MenuBO menu);
    // 修改菜单信息
    int update(MenuBO menu);
    // 获取路由菜单
    List<MenuVo> routerList();
    // 构建左侧菜单
    List<RouterVo> buildRouterMenu(List<MenuVo> menuVos);
    // 获取用户权限
    Set<String> userPermissions(UserVo userVo);
    // 权限树结构
    List<MenuVo> tree();
    // 删除
    R<?> delete(List<Long> ids);
}

